home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Carousel
/
CAROUSEL.cdr
/
mactosh
/
hc
/
tictacto.sit
/
tic tac toe
/
stack.txt
< prev
Wrap
Text File
|
1988-11-14
|
6KB
|
220 lines
-- stack: in
-- format: 8 (HyperCard 1)
-- flags: 0x0 (none)
-- protect password hash: 0
-- maximum user level: 5 (scripting)
-- window: Rect(x1=0, y1=0, x2=0, y2=0)
-- screen: Rect(x1=0, y1=0, x2=0, y2=0)
-- card dimensions: w=0 h=0
-- scroll: x=0 y=0
-- background count: 1
-- first background id: 2778
-- card count: 1
-- first card id: 2866
-- list block id: 2154
-- print block id: 0
-- font table block id: 0
-- style table block id: 0
-- free block count: 4
-- free size: 14080 bytes
-- total size: 32768 bytes
-- stack block size: 5632 bytes
-- created by hypercard version: 0x00000000
-- compacted by hypercard version: 0x00000000
-- modified by hypercard version: 0x00000000
-- opened by hypercard version: 0x01208000
-- patterns[0]: 0x0000000000000000
-- patterns[1]: 0x8000000008000000
-- patterns[2]: 0x8800220088002200
-- patterns[3]: 0x8888222288882222
-- patterns[4]: 0x88AA22AA88AA22AA
-- patterns[5]: 0xCCAA33AACCAA33AA
-- patterns[6]: 0xEEAABBAAEEAABBAA
-- patterns[7]: 0xEEBBBBEEEEBBBBEE
-- patterns[8]: 0xFFBBFFEEFFBBFFEE
-- patterns[9]: 0xFFBBFFFFFFBBFFFF
-- patterns[10]: 0x8010022001084004
-- patterns[11]: 0xFFFFFFFFFFFFFFFF
-- patterns[12]: 0x8822882288228822
-- patterns[13]: 0x1122448811224488
-- patterns[14]: 0xC4800C6843023026
-- patterns[15]: 0xB130031BD8C00C8D
-- patterns[16]: 0xAA00AA00AA00AA00
-- patterns[17]: 0x8822552288225522
-- patterns[18]: 0x8855225588552255
-- patterns[19]: 0x77DD77DD77DD77DD
-- patterns[20]: 0x8000000000000000
-- patterns[21]: 0xAA55AA55AA55AA55
-- patterns[22]: 0x038448300C020101
-- patterns[23]: 0x8244394482010101
-- patterns[24]: 0x8814224188412214
-- patterns[25]: 0x8080413E080814E3
-- patterns[26]: 0x22048C7422179810
-- patterns[27]: 0xBE808808EB088880
-- patterns[28]: 0x25C8328964244C92
-- patterns[29]: 0xA29C41BE2AC914EB
-- patterns[30]: 0x40A00000040A0000
-- patterns[31]: 0x8040200002040800
-- patterns[32]: 0xAA00800088008000
-- patterns[33]: 0xFF80808080808080
-- patterns[34]: 0x081C22C180010204
-- patterns[35]: 0xFF808080FF080808
-- patterns[36]: 0xF87422478F172271
-- patterns[37]: 0xBF00BFBFB0B0B0B0
-- patterns[38]: 0xFF7FBE5DA2418000
-- patterns[39]: 0xFAF5FAF5A050A050
-- checksum: 0x0
----- HyperTalk script -----
on update
global player,err
if player is 1 then
if err is 0 then
set hilite of card button "player 1" to false
set hilite of card button "player 2" to true
put empty into line 1 to 2 of card field 1
put empty into line 1 to 2 of card field 2
put "Your turn!" & return & "==========" & return into line 1 of card field 2
put "Wait!" & return & "==========" & return into line 1 of card field 1
put 2 into player
end if
else
if err is 0 then
set hilite of card button "player 2" to false
set hilite of card button "player 1" to true
put empty into line 1 to 2 of card field 1
put empty into line 1 to 2 of card field 2
put "Your turn!" & return & "==========" & return into line 1 of card field 1
put "Wait!" & return & "==========" & return into line 1 of card field 2
put 1 into player
end if
end if
put 0 into err
updatescore
end update
on updatescore
global board,play1tot,play2tot
put 0 into play1tot
put 0 into play2tot
repeat with i = 1 to 9
if item i of board is 1 then
add 1 to play1tot
else
if item i of board is 2 then
add 1 to play2tot
end if
end if
end repeat
put play1tot into card field "play1score"
put play2tot into card field "play2score"
wincheck
end updatescore
on wincheck
global play1tot,play2tot,board,win
if play1tot + play2tot > 4 then
put 0 into tot
add item 1 of board to tot
add item 2 of board to tot
add item 3 of board to tot
if tot is 3 then player1won 1,2,3
if tot is 6 then player2won 1,2,3
put 0 into tot
add item 4 of board to tot
add item 5 of board to tot
add item 6 of board to tot
if tot is 3 then player1won 4,5,6
if tot is 6 then player2won 4,5,6
put 0 into tot
add item 7 of board to tot
add item 8 of board to tot
add item 9 of board to tot
if tot is 3 then player1won 7,8,9
if tot is 6 then player2won 7,8,9
put 0 into tot
add item 1 of board to tot
add item 5 of board to tot
add item 9 of board to tot
if tot is 3 then player1won 1,5,9
if tot is 6 then player2won 1,5,9
put 0 into tot
add item 3 of board to tot
add item 5 of board to tot
add item 7 of board to tot
if tot is 3 then player1won 3,5,7
if tot is 6 then player2won 3,5,7
put 0 into tot
add item 1 of board to tot
add item 4 of board to tot
add item 7 of board to tot
if tot is 3 then player1won 1,4,7
if tot is 6 then player2won 1,4,7
put 0 into tot
add item 2 of board to tot
add item 5 of board to tot
add item 8 of board to tot
if tot is 3 then player1won 2,5,8
if tot is 6 then player2won 2,5,8
put 0 into tot
add item 3 of board to tot
add item 6 of board to tot
add item 9 of board to tot
if tot is 3 then player1won 3,6,9
if tot is 6 then player2won 3,6,9
if (win is 0) and (9 is not in board) then
play "c"
play "a"
play "t"
put empty into card field 2
put empty into card field 1
repeat 12
put "Cat's Game!" & return after card field 2
put "Cat's Game!" & return after card field 1
end repeat
put 1 into win
flash 5
exit to hypercard
end if
end if
end wincheck
on player1won x,y,z
displaywin x,y,z
add 1 to card field win1score
put empty into card field 1
put empty into card field 2
repeat 12
put "You win!" & return after card field 1
put "You lose!" & return after card field 2
end repeat
end player1won
on player2won x,y,z
displaywin x,y,z
add 1 to card field win2score
put empty into card field 2
put empty into card field 1
repeat 12
put "You win!" & return after card field 2
put "You lose!" & return after card field 1
end repeat
end player2won
on displaywin x,y,z
global win
play "harpsichord" tempo 120 "c5e gq fe3 ee3 de3 ce gq fe3 ee3 de3 ce gq fe3 ee3 fe3 deq"
repeat 5
set hilite of card button x to true
set hilite of card button y to true
set hilite of card button z to true
set hilite of card button x to false
set hilite of card button y to false
set hilite of card button z to false
end repeat
put 1 into win
end displaywin